clearfix()
  &:before
  &:after
    content: ""
    display: table
  &:after
    clear: both

/*
 * Overflow utility. Maps to regular overflow, and adds an ellipsis value.
 *
 * Synopsis:
 *
 *   overflow: <type>
 *
 * Examples:
 *
 *     overflow: auto
 *     overflow: hidden
 *     overflow: ellipsis
 *
 */

overflow()
  if arguments[0] == ellipsis
    ellipsis()
  else
    overflow: arguments

/*
 * Ellipsis with wrapping disabled by default.
 */

ellipsis(no-wrap = true)
  if no-wrap
    white-space: nowrap
  overflow: hidden
  text-overflow: ellipsis


/*
 *
 */
arrow(direction, size, border...)
  width size
  height size
  transform rotate(45deg)
  if direction == 'right'
    border-top border
    border-right border
  if direction == 'bottom'
    border-right border
    border-bottom border
  if direction == 'left'
    border-left border
    border-bottom border
  if direction == 'top'
    border-left border
    border-top border

box-shadow(direction)
  if direction == 'top'
    box-shadow 0 -1px 2px $borderShadow

box-shadow-basic(box-shadow)
  box-shadow box-shadow
